Test your skills through the online practice test: Python Quiz Online Practice Test

Related differences

Python vs JavaPython 2 vs Python 3

Ques 41. How do I modify a string in place?

You can't, because strings are immutable. If you need an object with this ability, try converting the string to a list or use the array module:

>>> s = "Hello, world" >>> a = list(s) 
>>>print a
['H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd']

>>> a[7:] = list("there!") 
>>>''.join(a)
'Hello, there!' 

>>> import array 
>>> a = array.array('c', s) >>> print a
array('c', 'Hello, world')

>>> a[0] = 'y' ; print a
array('c', 'yello world')
>>> a.tostring()
'yello, world'

Is it helpful? Add Comment View Comments
 

Ques 42. How do I use strings to call functions/methods in Python?

There are various techniques.

* The best is to use a dictionary that maps strings to functions. The primary advantage of this technique is that the strings do not need to match the names of the functions. This is also the primary technique used to emulate a case construct: 

def a():
  pass
  def b():
    pass
    dispatch = {'go': a, 'stop': b} # Note lack of parens for funcs
    dispatch[get_input()]() # Note trailing parens to call function

Use the built-in function getattr(): 
import foo
getattr(foo, 'bar')()

Note that getattr() works on any object, including classes, class instances, modules, and so on. This is used in several places in the standard library, like this: 

class Foo: 
  def do_foo(self):
    def do_bar(self):
      f = getattr(foo_instance, 'do_' + opname)
        f()

  • Use locals() or eval() to resolve the function name: 
    def myFunc(): print "hello" fname = "myFunc" f = locals()[fname] f() f = eval(fname) f()

Note: Using eval() is slow and dangerous. If you don't have absolute control over the contents of the string, someone could pass a string that resulted in an arbitrary function being executed. 

Is there an equivalent to Perl's chomp() for removing trailing newlines from strings? 
Starting with Python 2.2, you can use S.rstrip("\r\n") to remove all occurences of any line terminator.
from the end of the string S without removing other trailing whitespace. If the string S represents more
than one line, with several empty lines at the end, the line terminators for all the blank lines will be
removed:
>>> lines = ("line 1 "
... 
... ) 
>>> lines.rstrip(" ") 
"line 1" 
Since this is typically only desired when reading text one line at a time, using S.rstrip() this way works
well.
For older versions of Python, There are two partial substitutes:
* If you want to remove all trailing whitespace, use the rstrip() method of string objects. This removes all trailing whitespace, not just a single newline.
* Otherwise, if there is only one line in the string S, use S.splitlines()[0].
Is there a scanf() or sscanf() equivalent?
Not as such.

For simple input parsing, the easiest approach is usually to split the line into whitespace-delimited words using the split() method of string objects and then convert decimal strings to numeric values using int() or float(). split() supports an optional "sep" parameter which is useful if the line uses something other than whitespace as a separator.

For more complicated input parsing, regular expressions more powerful than C's sscanf() and better suited for the task.

Is it helpful? Add Comment View Comments
 

Ques 43. What is the difference between a list and a tuple in Python?

The difference between a tuple and list in python is as follows:

ListTuple
The list is mutable (can be changed)A tuple is immutable (remains constant)
These lists performance is slowerTuple performance is faster when compared to lists
Syntax: list_1 = [20, ‘Mindmajix’, 30]Syntax: tup_1 = (20, ‘Mindmajix’, 30)

Is it helpful? Add Comment View Comments
 

Ques 44. Define PYTHON PATH?

PYTHONPATH is an environmental variable that is used when we import a module. Suppose at any time we import a module, PYTHONPATH is used to check the presence of the modules that are imported in different directories. Loading of the module will be determined by interpreters.

Is it helpful? Add Comment View Comments
 

Ques 45. What are the two major loop statements?

Two major loop statements are:

  • for
  • while

Is it helpful? Add Comment View Comments
 

Most helpful rated by users: